import DeviceInfo from 'react-native-device-info';

/**
 * 获取应用版本号
 * @returns 应用版本号，如 "1.0.0"
 */
export const getAppVersion = (): string => {
    try {
        return DeviceInfo.getVersion();
    } catch (error) {
        console.warn('获取应用版本号失败:', error);
        return '1.0.0'; // 默认版本号
    }
};

/**
 * 获取构建号
 * @returns 构建号，如 "1"
 */
export const getBuildNumber = (): string => {
    try {
        return DeviceInfo.getBuildNumber();
    } catch (error) {
        console.warn('获取构建号失败:', error);
        return '1'; // 默认构建号
    }
};

/**
 * 获取完整版本信息
 * @returns 完整版本号，如 "1.0.0.1"
 */
export const getFullVersion = (): string => {
    try {
        const version = getAppVersion();
        const buildNumber = getBuildNumber();
        return `${version}.${buildNumber}`;
    } catch (error) {
        console.warn('获取完整版本号失败:', error);
        return '1.0.0.1'; // 默认完整版本号
    }
};

/**
 * 获取应用信息
 * @returns 包含版本信息的对象
 */
export const getAppInfo = () => {
    return {
        version: getAppVersion(),
        buildNumber: getBuildNumber(),
        fullVersion: getFullVersion(),
        bundleId: DeviceInfo.getBundleId(),
        appName: DeviceInfo.getApplicationName(),
    };
}; 